home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / C ++ / Frameworks / MacZoop 1.6.5 / Basic Classes / Z Headers / ZObjectArray.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-02-26  |  1.2 KB  |  55 lines  |  [TEXT/CWIE]

  1. /*************************************************************************************************
  2. *
  3. *
  4. *            ObjectMacZapp        -- a standard Mac OOP application template
  5. *
  6. *
  7. *
  8. *            ZObjectArray.h        -- the basic container class object
  9. *
  10. *
  11. *
  12. *
  13. *
  14. *            © 1996, Graham Cox
  15. *
  16. *
  17. *
  18. *
  19. *************************************************************************************************/
  20.  
  21.  
  22. #pragma once
  23.  
  24. #ifndef __ZOBJECTARRAY__
  25. #define    __ZOBJECTARRAY__
  26.  
  27. #ifndef __ZARRAY__
  28. #include    "ZArray.h"
  29. #endif
  30.  
  31.  
  32. template <class T> class ZObjectArray : public ZArray
  33. {
  34. protected:
  35.     T***    o;
  36.     
  37. public:
  38.     ZObjectArray();
  39.     
  40.     virtual T*        GetObject( const long index );
  41.     virtual void    SetArrayItem(void* item, const long index);
  42.     virtual void    GetArrayItem(void* item, const long index);
  43.     virtual long    FindIndex(T* item);
  44.     virtual void    Swap( const long itema, const long itemb );
  45.     virtual void    DeleteObject(T* item);
  46.     virtual void    DisposeAll();
  47.     virtual Boolean    Contains(T* item);
  48.     virtual void    DoForEach( IteratorProcPtr aProc, const long ref );
  49.     virtual void    MoveItem( const long curIndex, const long newIndex );
  50.     virtual void    MoveToFront( const long index );
  51.     virtual void    MoveToBack( const long index );
  52. };
  53.  
  54.  
  55. #endif